<template>
	<div class="sidebar">
		<el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" background-color="#324157"
			text-color="#bfcbd9" active-text-color="#20a0ff" unique-opened router>
			<template v-for="item in list">
				<template v-if="item.child">
					<el-submenu :index="item.url" :key="item.url">
						<template slot="title">
							<i :class="item.icon"></i>
							<span slot="title">{{ item.title }}</span>
						</template>
						<template v-for="subItem in item.child">
							<el-submenu v-if="subItem.child" :index="subItem.url" :key="subItem.url">
								<template slot="title">{{ subItem.title }}</template>
								<el-menu-item v-for="(threeItem,i) in subItem.child" :key="i" :index="threeItem.url">
									{{ threeItem.title }}</el-menu-item>
							</el-submenu>
							<el-menu-item v-else :index="subItem.url" :key="subItem.url">{{ subItem.title }}
							</el-menu-item>
						</template>
					</el-submenu>
				</template>
				<template v-else>
					<el-menu-item :index="item.url" :key="item.url">
						<i :class="item.icon"></i>
						<span slot="title">{{ item.title }}</span>
					</el-menu-item>
				</template>
			</template>
		</el-menu>
	</div>
</template>

<script>
	import bus from '../common/bus';
	import AxiosPost from '../../api/index'
	export default {
		data() {
			return {
				collapse: false,
				items: {},
				list: [],
			};
		},

		methods: {
			async getAuthList() {

				AxiosPost('/admin/login/columnlist').then(res=>{
					this.list = res.data
				})
				// let info = await AxiosPost('/admin/shop_set/configshop')
				// if (info.code !== 10000) {
				// 	this.$message.error(info.message)
				// 	return false
				// }
				// this.$store.state.show_qiniu_img = info.data.domain_img
				// AxiosPost('/admin/login/authlist').then(res=>{
				// 	let info = res.data
				// })

			}
		},
		computed: {
			onRoutes() {
				return this.$route.path.replace('/', '');
			}
		},
		created() {
			this.getAuthList();
			// 通过 Event Bus 进行组件间通信，来折叠侧边栏
			bus.$on('collapse', msg => {
				this.collapse = msg;
				bus.$emit('collapse-content', msg);
			});
		}
	};
</script>

<style scoped>
	.sidebar {
		display: block;
		position: absolute;
		left: 0;
		top: 70px;
		bottom: 0;
		overflow-y: scroll;
	}

	.sidebar::-webkit-scrollbar {
		width: 0;
	}

	.sidebar-el-menu:not(.el-menu--collapse) {
		width: 250px;
	}

	.sidebar>ul {
		height: 100%;
	}
</style>
